package ar.pmt.modelo.businessObject;

import java.io.File;

import ar.pmt.modelo.beans.Peticion;
import ar.pmt.project.beans.BeanXMLProjectMicrosoft;

/**
 * @author gburgener
 * Interface del servicio Importacion proyecto
 *
 */
public interface SrvcImportacionProject {
	
	/**
	 * Transforma el xml de Microsoft Project a BeanXMLProjectMicrosoft
	 * @param archivoXmlProject Archivo de XML de Microsoft Project.
	 * @return Devuelve el objeto BeanXMLProjectMicrosoft .
	 * @throws Exception maneja por aspecto
	 */
	BeanXMLProjectMicrosoft xmlToBeanXMLProjectMicrosoft(File archivoXmlProject) throws Exception;
	
	/**
	 * Pasaje del modelo xml project (BeanXMLProjectMicrosoft) al modelo propio (Peticion) 
	 * @param project Objeto del modelo xml a parsear 
	 * @throws Exception manejada por aspecto
	 * @return peticion Peticion parseada segun el parametro de entrada.
	 */
	Peticion beanXMLProjectMicrosoftApeticion(BeanXMLProjectMicrosoft project) throws Exception;
	
	/**
	 * Metodo que encapsula la logica de pasar el archivoXML a BeanXMLProjectMicrosoft 
	 * y luego de ese ultimo bean a objeto de tipo Peticion
	 * @param archivoXml Archivo en formato xml de project micrososft
	 * @return Peticion con planificacion segun archivo 
	 * @throws Exception manejada por aspecto
	 */
	Peticion fileXmlToPeticion(File archivoXml) throws Exception;
}
